﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OBL1_DiseñoDeAplicaciones.ObjetosDeNegocio;

namespace OBL1_DiseñoDeAplicaciones.Datos_de_Prueba
{
    public class DatosDePrueba
    { 
        private Empresa empresa;

        public void CargarDatos(Empresa pEmpresa)
        {
            empresa = pEmpresa;
            CrearClientes();
            CrearProyectos();
        }

        private void CrearClientes()
        {
            //Cliente 1
            empresa.AgregarCliente("AzulDevelop", "1234567890", "Cerrito 307", false);
            
            //Cliente 2
            empresa.AgregarCliente("VerdeDevelop","2345678901","21 de Setiembre 2005", true);

            //Cliente 3
            empresa.AgregarCliente("RojoDevelop", "3456789012", "Blvar Artigas 902", true);
        }

        private void CrearProyectos()
        {   
            //Creo una tarea para el proyecto1
            Tarea tarea_proy1 = new Tarea("Estimacion de costos", DateTime.Now, 12000);
            empresa.AgregarProyecto("Recursos Humanos", empresa.Clientes[0], tarea_proy1);
            
            Proyecto proyecto1 = empresa.Proyectos.Last();
            //Le agrego otra tarea al proyecto1
            Tarea tarea_proy2 = new Tarea("Estimacion de tiempo", DateTime.Now, 50000, proyecto1);
            proyecto1.Subdivisiones.AgregarSubdivision(tarea_proy2);

            //Creo un subproyecto con 2 tareas para el proyecto1
            Tarea tarea_sub1 = new Tarea("Calculo de sueldo", DateTime.Now, 20000, proyecto1);
            Tarea tarea_sub2 = new Tarea("Calculo de descuentos", DateTime.Now, 27000, proyecto1);

            ListaSubdivision componentes = new ListaSubdivision();
            componentes.AgregarSubdivision(tarea_sub1);
            componentes.AgregarSubdivision(tarea_sub2);
            Subproyecto subproyecto1 = new Subproyecto("Liquidacion de sueldos", componentes, proyecto1);

            //Le agrego el subproyecto al proyecto1
            proyecto1.Subdivisiones.AgregarSubdivision(subproyecto1);


            //Creo una tarea para el proyecto2
            tarea_proy1 = new Tarea("Mostrar saldo disponible", DateTime.Now, 7600);
            empresa.AgregarProyecto("Consultas de saldo", empresa.Clientes[1], tarea_proy1);
            Proyecto proyecto2 = empresa.Proyectos.Last();

            //Le agrego otra tarea al proyecto2
            tarea_proy2 = new Tarea("Calcular saldo disponible", DateTime.Now, 3100, proyecto2);
            proyecto2.Subdivisiones.AgregarSubdivision(tarea_proy2);
        }
   
    }
}
